/*
 * Copyright (c) 2010-2011 NOO. All Rights Reserved.
 * [Id:DepartmentCmp.java  2011-11-03 下午8:43 poplar.yfyang ]
 */
package org.mumu.pawn.cmps;

import org.mumu.pawn.fm.dm.LazyPawnDataModel;
import org.mumu.pawn.domain.Department;

import java.io.Serializable;

/**
 * <p>
 * 部门操作接口.
 * </p>
 *
 * @author poplar.yfyang
 * @version 1.0 2011-11-03 下午8:43
 * @since JDK 1.5
 */
public interface DepartmentCmp extends Serializable {
    /**
     * 新增一个新的部门或者修改一个已经存在的部门
     *
     * @param department 部门信息
     */
    void saveOrUpdateDepartment(Department department);

    /**
     * 删除一个存在的部门
     *
     * @param id 部门ID
     */
    void deleteDepartment(long id);

    /**
     * 根据部门ID取得部门。
     *
     * @param id 部门ID
     * @return 部门信息
     */
    Department getDepartment(long id);

    /**
     * 创建一个部门数据模型
     *
     * @return 部门列表数据模型
     */
    LazyPawnDataModel createDepartmentDataModal();
}
